package com.bjpowernode;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity;

@SpringBootApplication
public class LoginApiJwtApplication implements CommandLineRunner {
    @Autowired
    private RedisTemplate redisTemplate;

    public static void main(String[] args) {
        SpringApplication.run(LoginApiJwtApplication.class, args);
    }

    /**
     * 这个run方法是CommandLineRunner接口中的，该方法在springboot项目启动时会执行一次，
     * 且整个项目期间只执行这一次，在上面的main方法执行后就会执行该run方法，所以在项目中，
     * 经常用该run方法做一些初始化的工作
     * @param args
     * @throws Exception
     */
    @Override
    public void run(String... args) throws Exception {
        //初始化时，设置redis的key的序列化方式为string
        redisTemplate.setKeySerializer(RedisSerializer.string());
        //设置hashKey的
        redisTemplate.setHashKeySerializer(RedisSerializer.string());
        //设置hashValue的
        redisTemplate.setHashValueSerializer(RedisSerializer.string());
    }
}
